/**
 * 删除所有重复元素 ，重复的元素一个都不留
 */

public class LeetCode82 {


    public ListNode deleteDuplicates3(ListNode p) {
        if (p == null || p.next == null) {
            return p;
        }
        if (p.val == p.next.val) {
            //发现重复元素
            ListNode x = p.next.next;
            while (x != null || x.val != p.val) {
                //如果没有到链表结尾，或者一直有重复值的元素 就一直遍历往下走
                x = x.next;
            }
            return deleteDuplicates3(x);
        } else {//p后面的元素 要赋值成替换后的
            p.next = deleteDuplicates3(p.next);
            return p;
        }
    }
}
